package com.zust513.service.rrr;

import com.zust513.entity.Courier;
import com.zust513.entity.CourierRegion;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface CourierServiceR {
    // 配送员基本信息管理
    Courier getCourierById(Integer courierId);

/*    void registerCourier(Courier courier);*/

    void cancelRegistration(Integer courierId);

    // 运营范围管理
    List<CourierRegion> getCourierRegions(Integer courierId);

    // 配送求援管理
    void sendAssistanceRequest(Integer requesterCourierId, Integer orderId);

    List<Courier> getIdleCouriers();

    // 新增：获取配送员收益信息
    List<Map<String, Object>> getEarningsByCourierId(Integer courierId);

    /**
     * 根据用户ID联合查询用户表和配送员表的数据
     * @param userId 用户ID
     * @return 包含用户和配送员信息的 Map
     */
    Map<String, Object> findUserAndCourierByUserId(Integer userId);

    List<Integer> getRegionIdsByCourierId(Integer courierId);

    // 新增：获取当前余额
    BigDecimal getBalanceByCourierId(Integer courierId);

    // 新增：提现功能
    void withdraw(Integer courierId, Integer amount);
}